/*
	Plik nagłówkowy wspólny dla virtual i link.
*/

#ifndef LINK_VIRTUAL_H
#define LINK_VIRTUAL_H

#include <pthread.h>
#include <net/if.h>

// maksymalna ilość wirtualnych kart sieciowych na pojedynczym komputerze
#define MAKSYMALNA_LICZBA_URZADZEN 10
// rozmiar MTU


#ifndef MTU
#define MTU 1497
#endif

#define SSID 1

// opis wirtualnej karty sieciowej
struct Urzadzenie
{
	// nazwa urządzenia
	char nazwa_urzadzenia[IFNAMSIZ];
	// identyfikator pliku służący do komunikacji z urządzeniem
	int deskryptor_pliku;
	// adres fizyczny urządzenia
	char adres_mac[12];
	// SSID - identyfikator sieci
	char ssid; 
	// wątek obsługujący urządzenie
	pthread_t watek;
};

// ilość utworznych urządzeń
int ilosc_urzadzen;
// tablica struktur opisująca urządzenia
struct Urzadzenie urzadzenia[MAKSYMALNA_LICZBA_URZADZEN]; 
unsigned long crc32_table[256];

int CRC32(char *ramka, int dlugosc_ramki);

#endif
